package com.salt.modules.notice.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class NoticeData<T> {
    @ApiModelProperty(value = "主键")
    private String id;

    @ApiModelProperty(value = "推送信息类型")
    private String code;

    @ApiModelProperty(value = "推送内容")
    private String message;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "time")
    private String time;

    @ApiModelProperty(value = "remarks")
    private String remarks;

    @ApiModelProperty(value = "状态")
    private Integer state; // 状态（分场景，不同场景，状态值以及状态的含义是不一样的）

    private T t; // 对象

    public NoticeData(String title, String code, String message, String remarks) {
        this.title = title;
        this.code = code;
        this.message = message;
        this.remarks = remarks;
    }

    public NoticeData(String title, String code, String message, String remarks, Integer state) {
        this.title = title;
        this.code = code;
        this.message = message;
        this.remarks = remarks;
        this.state = state;
    }

    public NoticeData(String title, String code, String message, String remarks, Integer state, T t) {
        this.title = title;
        this.code = code;
        this.message = message;
        this.remarks = remarks;
        this.state = state;
        this.t = t;
    }
}